class Parent{
    // name="value"//在babel的支持下可以这么写，传统浏览器不可以这样写
    constructor(name,age){
        this.name = name
        this.age = age
    }

    sayHi(){//动态方法
        console.log(`我是：${this.name}，我今年${this.age}岁了，我喜欢倒斗`);
    }
    daoDou=()=>{
        console.log("寻龙分金看缠山，一重缠是一重关");
    }
    static read(){//静态方法
        console.log("读书读书读书");
    }

    static defaultProps = {//静态属性
        name:"摸金欧阳峰",
        skill:"寻龙分金"

    }
}

let p=new Parent("摸金校尉",18)
p.sayHi()
p.daoDou()
console.log(p);
// 调用静态方法需要直接使用类调用
Parent.read()
// console.log(Parent.defaultProps);


// 继承
// 子类

// 说一下对象的多态性=>后端转的
// js没有多态一说，多态是java的概念
// hash表 映射=>后台概念
class Child extends Parent{
    constructor(){
        super("sharily杨","20")//如果使用了extends关键字继承，那么需要调用super，来让当前的子类获得正确的this指向
        // super其实可以调用父类的构造函数
        this.tool="洛阳铲"
    }
}
let c=new Child()
console.log(c);